#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>

int main(int argc, char const *argv[])
{
    int value = 100;

    // fork()函数返回两次，一次在父进程中，一次在子进程中
    // 返回值为0表示子进程，返回值为子进程的pid表示父进程
    pid_t id = fork();

    if (id == 0)
    {
        printf("当前为子进程执行\n");
        value++;
        printf("进程id: %d,父进程id: %d,val:%d\n", getpid(), getppid(), value);
    }
    else
    {
        printf("当前为父进程执行\n");
        value--;
        printf("进程id: %d,value:%d\n", getpid(), value);
    }

    return 0;
}
